Software Module Clustering: An In-Depth Literature Analysis
نویسندگان
چکیده
Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be study, analyze, and understand the entities’ structure behavior. Implementing optimal results challenging. Accordingly, researchers have addressed many aspects of in past decade. Thus, it essential present research evidence that has been published this area. In 143 papers from well-known literature databases examined were reviewed extract useful data. data then answer several questions regarding state-of-the-art approaches, applications engineering, processes, algorithms, evaluation methods. Several gaps challenges are discussed paper provide a reference for field.
منابع مشابه
A multi-agent evolutionary algorithm for software module clustering problems
The aim of software module clustering problems (SMCPs) is to automatically find a good quality clustering of software modules based on relationships among modules. In this paper, we propose a multi-agent evolutionary algorithm to solve this problem, labeled as MAEA-SMCPs. With the intrinsic properties of SMCPs in mind, three evolutionary operators are designed for agents to realize the purpose ...
متن کاملSoftware Module Clustering using a Fast Multi-objective
Software evolution is a natural phenomenon in the software development life cycle. As the software evolves, the modular structure of software degrades, and at one point it becomes a challenging task to maintain the software further. Software module clustering is an important activity during software maintenance whose main goal is to obtain good modular structures. Software engineers greatly emp...
متن کاملEvaluating Modularization Quality as an Extra Objective in Multiobjective Software Module Clustering
The application of multiobjective optimization to address Software Engineering problems is a growing trend. Multiobjective algorithms provide a balance between the ability of the computer to search a large solution space for valuable solutions and the capacity of the human decision-maker to select an alternative when two or more incomparable objectives are presented. However, when more than a s...
متن کاملA Multiple Hill Climbing Approach to Software Module Clustering
Automated software module clustering is important for maintenance of legacy systems written in a ‘monolithic format’ with inadequate module boundaries. Even where systems were originally designed with suitable module boundaries, structure tends to degrade as the system evolves, making re-modularization worthwhile. This paper focuses upon search-based approaches to the automated module clusterin...
متن کاملSoftware Rejuvenation: Analysis, Module and Applications
Software rejuvenation is the concept of gracefully terminating an application and immediately restarting it at a clean internal state In a client server type of application where the server is intended to run per petually for providing a service to its clients rejuve nating the server process periodically during the most idle time of the server increases the availability of that service In a lo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: IEEE Transactions on Software Engineering
سال: 2022
ISSN: ['0098-5589', '1939-3520', '2326-3881']
DOI: https://doi.org/10.1109/tse.2020.3042553